import { Injectable } from '@angular/core';
import { HttpService } from './http.service';

declare var wx: any;

@Injectable()
export class PayService {

  isJsSDKSet = false;

  constructor(private http: HttpService) { }

  getJsSDK() {
    // if(this.isJsSDKSet) return;
    this.http.post({
      name: 'car.pay.get.wxsign',
      url: location.href
    }).then(r => {
      wx.config({
        debug: false, // 开启调试模式,调用的所有api的返回值会在客户端alert出来，若要查看传入的参数，可以在pc端打开，参数信息会通过log打出，仅在pc端时才会打印。
        appId: 'wxca54e54a9155264a', // 必填，公众号的唯一标识
        timestamp: r.data.timestamp, // 必填，生成签名的时间戳
        nonceStr: r.data.nonceStr, // 必填，生成签名的随机串
        signature: r.data.signature,// 必填，签名
        jsApiList: ['chooseWXPay'] // 必填，需要使用的JS接口列表
      })
      this.isJsSDKSet = true;
    })
  }

  pay({timestamp, nonceStr, package_wx, signType, paySign}) {
    return new Promise((resolve, reject) => {
      try{
        wx.chooseWXPay({
          timestamp,nonceStr, package:package_wx, signType, paySign,
          success: () => resolve(),
          fail: (e) => reject(e)
        })
      } catch(err) {
        alert(err.stack);
      }

    })

  }

  payForMember() {

  }

}
